package ynu.edu.service;

import ynu.edu.dto.OrderDTO;
import ynu.edu.dto.OrderRequestDTO;
import ynu.edu.entity.OrderEntity;

import java.util.List;

/**
 * 订单服务接口
 */
public interface OrderService {

    /**
     * 创建订单
     */
    OrderDTO createOrder(OrderRequestDTO orderRequest);

    /**
     * 获取订单详情
     */
    OrderDTO getOrderById(Integer orderId);

    /**
     * 获取用户订单列表
     */
    List<OrderDTO> getOrdersByUserId(String userId);

    /**
     * 获取用户特定状态的订单列表
     */
    List<OrderDTO> getOrdersByUserIdAndStatus(String userId, Integer orderState);

    /**
     * 更新订单状态
     */
    OrderDTO updateOrderStatus(Integer orderId, Integer orderState);

    /**
     * 取消订单
     */
    OrderDTO cancelOrder(Integer orderId);

    /**
     * 支付订单
     */
    OrderDTO payOrder(Integer orderId);

    /**
     * 完成订单
     */
    OrderDTO completeOrder(Integer orderId);
} 